//
//  Crc8.m
//  KangarooDoctor
//
//  Created by gang on 2024/2/8.
//

#import "Crc8.h"


uint8_t CRC8(uint8_t *ptr, uint8_t len)
{
    uint8_t crc;
    uint8_t i;
    
    crc = 0;
    
    while(len--) {
        
        uint8_t p = *ptr++;
//        printf("0x%02x, ", p);
        
        crc ^= p;
        
        for(i = 0;i < 8;i++) {
            if(crc & 0x01) {
                crc = (crc >> 1) ^ 0x8C; }
            else
                crc >>= 1;
        }
        
    }
    
    return crc;
}
